home *** CD-ROM | disk | FTP | other *** search
- {
- MATT GIWER
-
- It is designed to clean up Files you might wish to capture from Real time
- chat. It gets rid of all those back spaces and recreates a readable File
- that appears as though no typos were made by anyone.
-
- {$M 65520,0,655360 }
- Program capture_strip;
-
- Uses
- Dos, Crt;
-
- Const
- copyright : String[80] =
- 'copyright 1988 and 1991 by Matt Giwer, all rights reserved';
- name : String[20] = 'CAPture CLeaN ';
- ver : String[5] = '1.2';
-
- Var
- in_File,
- out_File : Text;
- in_name,
- out_name : String[30];
- in_String,
- out_String : String[250];
- i, k, l : Integer;
- ch : Char;
- count : Integer;
- Files : Array[1..50] of String[20];
- in_Array,
- out_Array : Array[1..100] of String[250];
- Array_count : Byte;
-
- Procedure clear_Strings;
- Var
- i : Byte;
- begin
- for i := 1 to 100 do
- begin
- in_Array[i] := '';
- out_Array[i] := '';
- end;
- end;
-
- Procedure strip_File;
- begin
- For l := 1 to Array_count do
- begin
- out_String := '';
- in_String := in_Array[l];
- For i := 1 to length(in_String) do
- {if it is any except a backspace then add it to the output String}
- begin
- if ord(in_String[i]) <> 8 then
- out_String := out_String + in_String[i];
- {if it is a backspace than the intention was to remove the last Character
- in the String that was added above. Thus the BS is a signal to remove the
- last Character added above.}
- if ord(in_String[i]) = 8 then
- delete(out_String, length(out_String), 1);
- end;
- While (out_String[length(out_String)] = ' ') do
- delete(out_String, length(out_String), 1);
- out_Array[l] := out_String;
- end;
- end;
-
- Procedure fill_Array;
- begin
- While not eof(in_File) do
- begin
- clear_Strings;
- Array_count := 1;
- While (not eof(in_File) and (Array_count < 100) ) do
- begin
- readln(in_File, in_Array[Array_count]);
- Array_count := Array_count + 1;
- end;
- strip_File;
- For l := 1 to Array_count do
- Writeln(out_File, out_Array[l]);
- end;
- end;
-
- begin
- Writeln(name,ver);
- Writeln(copyright);
- For count := 1 to 50 do
- Files[count] := ' ';
- clear_Strings;
- Writeln;
- if paramcount < 1 then {if command line empty}
- begin
- Writeln('Only Filenames are accepted, no extenders');
- Writeln('Output File will be .CLN');
- Write('Enter File name. '); readln(in_name);
- end
- else {else get an Array of the parameters}
- begin
- For i := 1 to paramcount do
- Files[i] := paramstr(i) {! count vice i}
- end;
- if paramcount < 1 then
- begin
- assign(in_File, in_name);
- reset(in_File);
- assign(out_File, in_name + '.CLN');
- reWrite(out_File);
- Write('Working on ', in_name:20);
- fill_Array;
- Writeln;
- end
- else
- begin
- For count := 1 to paramcount do
- begin
- in_name := paramstr(count);
- assign(in_File, in_name);
- reset(in_File);
- assign(out_File, in_name + '.CLN');
- reWrite(out_File);
- Write('Working on ', paramstr(count):20);
- fill_Array;
- Writeln;
- close(in_File);
- close(out_File);
- end;
- end;
- end.